package api

import (
	"Management/dao"
	"github.com/gin-gonic/gin"
)
//添加部门人员
func AddUser(c *gin.Context){
	type Msg struct {
		Name string `json:"name"`
		Phone string `json:"phone"`
		DepartmentId int `json:"department_id"`
	}
	var msg Msg
	err:=c.BindJSON(&msg)
	if err!=nil{
		panic(err)
	}
	loginer:=dao.QueryLoginer(msg.Phone)
	if loginer.ID!=0 {
		c.JSON(200,gin.H{"msg":"电话账号已存在，请重新添加","do":1})
		return
	}
	err=dao.AddUser(msg.Name,msg.Phone,msg.DepartmentId)
	if err!=nil{
		panic(err)
	}
	err=dao.AddLoginer(msg.Phone)
	if err!=nil{
		panic(err)
	}
	c.JSON(200,gin.H{"msg":"新建用户成功","do":1})
}
//分页查询部门人员
func QueryDepartmentUser(c *gin.Context){
	type Msg struct {
		Pagenumber int `json:"pagenumber"`
		DepartmentId int  `json:"department_id"`
	}
	var msg Msg
	err:=c.BindJSON(&msg)
	if err!=nil{
		panic(err)
	}
	users,total,pagenumber,pagesize :=dao.QueryDepartmentUsers(msg.Pagenumber,msg.DepartmentId)
	c.JSON(200,gin.H{"user":users,"total":total,"pagenumber":pagenumber,"pagesize":pagesize,"do":1})
}
//删除部门人员
func DeleteUser(c *gin.Context){
	type Msg struct {
		Phone string `json:"phone"`
	}
	var msg Msg
	err:=c.BindJSON(&msg)
	if err!=nil{
		panic(err)
	}
	err=dao.DeleteUser(msg.Phone)
	if err!=nil{
		panic(err)
	}
	err=dao.DeleteLoginer(msg.Phone)
	if err!=nil{
		panic(err)
	}
	c.JSON(200,gin.H{"msg":"删除成功","do":1})
}
//修改人员信息
func ChangeUser(c *gin.Context)  {
	type Msg struct {
		Id int `json:"id"`
		Name string `json:"name"`
		Phone string `json:"phone"`
	}
	var msg Msg
	err:=c.BindJSON(&msg)
	if err!=nil{
		panic(err)
	}
	user:=dao.QueryUser(msg.Id)
	err=dao.ChangeLoginerPhone(user.Phone,msg.Phone)
	err=c.BindJSON(&msg)
	if err!=nil{
		panic(err)
	}
	err=dao.ChangeUser(msg.Id,msg.Name,msg.Phone)
	if err!=nil{
		panic(err)
	}

	c.JSON(200,gin.H{"msg":"修改成功","do":1})
}
//分页模糊查询部门人员
func QueryLikeUsers(c *gin.Context){
	type Msg struct {
		Pagenumber int `json:"pagenumber"`
		Name string `json:"name"`
		Phone string `json:"phone"`
	}
	var msg Msg
	err:=c.BindJSON(&msg)
	if err!=nil{
		panic(err)
	}
	users,total,pagenumber,pagesize:=dao.QueryLikeUsers(msg.Pagenumber,msg.Name,msg.Phone)
	c.JSON(200,gin.H{"users":users,"total":total,"pagenumber":pagenumber, "pagesize":pagesize,"do":1})
}